草庐IT

java - 读取 MIDI 文件

全部标签

go - 是否可以从 channel ch 读取 len(ch) 消息?

我正在运行单个goroutine来处理与某些用户相关的消息channel。处理消息后,用户状态由goroutine更新并存储在数据库中。当对数据库的请求正在进行时,可以将许多消息发送到channel。我想在向数据库发送另一个请求之前处理它们。目前我正在使用len(ch)检查channel中的消息数量并在for循环中读取它们。func(c*consumer)handleUser(userIDstring,chchanMessage){user:=c.db.LoadUser(userID)for{varmsgs[]Messageforn:=len(ch);n>0;n--{msgs=appe

go - 将 "go"包上传到 AWS Lambda 后无法读取 json 文件

我有golang代码来读取一些json文件。它在本地运行良好,但我创建了Lambda包并在Lambda中上传了包。它无法读取文件import("context""fmt""io/ioutil""github.com/aws/aws-lambda-go/lambda")typeMyEventstruct{Namestring`json:"name"`}funcHandleRequest(ctxcontext.Context,nameMyEvent)(string,error){jsonBytes,err:=ioutil.ReadFile("mappings.json")fmt.Print

java - 向 TCP 服务器指示 Java TCP 客户端已完成写入流

我正在编写一个连接到GolangTCP服务器的JavaTCP客户端。服务器使用以下代码从客户端读取消息:func(tcpHandlerTCPHandler)getClientMsgBytes(connection*net.TCPConn)([]byte,error){clientMsgBytes,err:=ioutil.ReadAll(connection)iferr!=nil{returnnil,err}returnclientMsgBytes,nil}我的客户端使用以下代码向服务器发送消息:try(Socketsocket=newSocket("localhost",9000)){

golang renderer.HTML 没有从模板内部选择 javascript 文件

尝试使用“github.com/thedevsaddam/renderer”包renderer发布登录页面。无法从模板内部调用.js文件。当尝试内联javascript时它工作正常,但无法加载.js文件。我的文件结构是Project|+-main.go|+-handlers|||+-routes.go|||+-login.go+-views|||+-_login.html|+-login.js主.gopackagemainimport("fmt""log""net/http""github.com/gorilla/mux""github.com/higuestssg/handlers"

go - 将文件放入 Go 中的 amazon s3 后如何获取文件 url?

文件上传成功,上传后返回文件url_,err:=s3.New(s).PutObject(&s3.PutObjectInput{Bucket:aws.String("bucket"),Key:aws.String(tempFileName),ACL:aws.String("public-read"),//couldbeprivateifyouwantittobeaccessbyonlyauthorizedusersBody:bytes.NewReader(buffer),ContentLength:aws.Int64(int64(size)),ContentType:aws.String

go - 接受 tcp [::]: accept4: 打开的文件太多; 1s 重试

我们有一个在golang上运行的API,它的流量很高,今天突然出现以下错误http:Accepterror:accepttcp[::]:8443:accept4:toomanyopenfiles;retryingin1s我之前检查过的几件事是,最大FD大小,这是每个进程16k的合适大小,但由于某种原因它达到了最大值但没有提供太多细节。是否有任何gotools或提示来检查我如何找到可能导致此问题的原因? 最佳答案 我不确定是否存在Go工具来帮助解决此类问题。代码中可能存在一些连接泄漏。可能发生的常见泄漏是在消耗了http.Respon

json - 如何读取请求 JSON 正文以便在响应请求后使用它?

我正在编写一个HTTP服务器来处理CiscoMeraki扫描API。它是一个推送API,Cisco在其中使用POST请求和JSON正文定期调用您的端点。API必须能够在不到500毫秒的时间内响应此POST请求。否则,思科将停止向您发送数据,并且您无法恢复该信息。所以,我一直在寻找尽可能快地处理这些请求的方法。我做的第一件事是使用队列解耦JSON正文的处理。我从请求中取出Body,将其放入队列中,然后进行响应。然后,几个工作人员将处理主体并将其异步存储在S3上。我还尝试使服务器尽可能简单。大多数请求会在500毫秒内完成,但有些则不会。看看我现在的位置,唯一想到的改进这些时间的方法就是更快

go - 在 Gin Framework 中开发的 REST API 的文件夹结构和包命名约定

我是一名NodeJS/PHP开发人员,并且是Go的初学者。在做了一些研究之后,我为我的RESTAPI项目提出了一个像这样的MVC风格的文件夹结构。.+-bin/+-controllers/+-userController/+-userController.go+-models/+-userModel/+-userModel.go+-main.go因此,我可以让我的代码看起来像这样:import"github.com/gin-gonic/gin"import"controllers/userController"router:=gin.Default()router.GET("/user

go - 将多个文件传递给存储桶中的 exec.Command 调用

我正在尝试构建一个用Go编写的云函数,它将使用Google的CloudFunctions基础架构中可用的ImageMagick库来将多个图像合成并处理成最终的输出图像。问题的根源是我想使用的ImageMagick函数可用,但它需要多个不同的输入才能工作。我的输入是存储桶中的对象。os/execCmd结构允许您通过使用“ExtraFiles”数组来执行此操作,而且我知道如何将这些额外文件提供给我的ImageMagick命令。但是,“ExtraFiles”数组只想存储os.File的实例,而GCPStorageClient在您打开文件时会为您提供一个“Reader”实例。backgroun

docker - 在 Docker 中找不到 Go mod 文件夹

我是模块的新手,我正在尝试获取一个项目并更新它以使用它们,因为它们似乎是最终处理我的依赖项的一种非常好的方法。但是,我在Docker中构建东西时遇到了问题。我有一个包含main.go和go.mod文件的项目(它引用私有(private)/本地存储库以及像go这样的公共(public)存储库.uber.org/zap)。我将我的模块命名为github.internal.com/team_name/project_name我已经提供了我的依赖项。所以,我的项目结构如下:project-main.go-internal-utils.go-go.mod(github.internal.com/